The present invention is directed to a global system for mobile communication (GSM) mobile telephone system which utilizes short message service (SMS) for sending short text messages to and from mobile stations. In particular, the present invention is directed to controlling the flow of short text messages to a mobile station after a busy condition is detected and several short message service centers for short messages attempt to send their messages to the same mobile station during the busy condition. Also, the present invention is directed to other standards such as personal communication system (PCS) 1900.
SMS for sending short text messages (hereinafter called SMs) to and from mobile stations (MSs) is presently used in GSM mobile telephone systems. To perform the SMS, at least a basic set of GSM public land mobile network (PLMN) entities or nodes must be used. The minimum set of entities includes a mobile services switching center (MSC), a visitor location register (VLR), a home location register (HLR), an SMS gateway MSC (SMS-GMSC) and an SMS S interworking MSC (SMS-WMSC). Another network entity that is not part of the GSM PLMN but is necessary for carrying out the SMS is a short message service center (hereinafter called SC).
FIG. 1 illustrates an example of conventionally used GSM PLMN entities. FIG. 1 includes an SC 10 for SMS connected to a GMSC/IWMSC 30 by a first interface 20, an HLR 50 connected to the GMSC/IWMSC 30 by an interface 40, an MSC/VLR 70 connected to the GMSC/IWMSC 30 by an interface 60 and an MS 90 connected to the MSC/VLR 70 by an interface 80. The SC 10 is a node which stores and forwards SMs over the interface 20, such as a known 03.47 protocol interface which is described in a GSM Technical Report, hereby incorporated by reference. The SC 10 communicates with the GMSC/IWMSC 30 which serve as the port into a PLMN and are, in most cases, the same node as illustrated in FIG. 1. The IWMSC portion of the GMSC/IWMSC 30 forwards SMs sent from MSs. The service for forwarding these SMs is called a mobile originated short message service (hereinafter called MO-SM). The GMSC portion of the GMSC/IWMSC 30 receives messages sent to MSs. The service for receiving these SMs is called a mobile terminated short message service (hereinafter called MT-SM). The HLR 50 stores subscriber data for subscribers having a subscription into a PLMN. The stored subscriber data may be location information, a directory number (MSISDN), radio numbering plan identification (IMSI), supplementary service profiles, teleservice profiles, etc.
The VLR portion of the MSC/VLR 70 controls service areas when an MS roams within or between PLMNs. In other words, at one specific time, the MS is roaming within one specific service area of the VLR. The VLR can best be described as a "copy" of the subscriber's HLR. For example, when registering the present location of an MS by sending a location update to the HLR, subscriber data stored in the HLR is transferred to the VLR. The VLR contains the data that is needed to establish calls and signal transactions towards a desired MS. The MSC portion of the MSC/VLR 70 performs call and transaction control by interworking with the VLR. The MSC is responsible for switching functions and controlling hardware when establishing a call or a signal connection. In particular, the MSC cooperates with a VLR where subscriber data for the call in question is stored. The MSC and VLR are illustrated as an integrated unit (node) for discussion purposes because the interface between the MSC and VLR is well known. The interfaces 40 and 60 between the GMSC/IWMSC 30, HLR 50 and MSC/VLR 70 are performed by a mobile application part (MAP) which is a signaling protocol used for roaming and handover signaling in GSM. The MSC also interfaces the radio network via a base station controller (BSC), not shown.
The flow of the SMs for MT-SM will be discussed with reference to FIG. 1. An MT-SM is sent over the interface 20 from the SC 10 to the GMSC/IWMSC 30. The MT-SM contains an SM which is to be delivered to the MS 90 and is identified by the MSISDN number contained in the MT-SM. The GMSC portion of the GMSC/IWMSC 30 interrogates the subscriber's HLR 50 for routing information before delivering the MT-SM to the MSC/VLR 70 where the MS 90 is roaming. The subscriber's MSISDN is used to find the HLR which is translated into a CCITT signaling system No. 7 address. This is a known MAP protocol used for this GSM cellular standard. The MAP message (operation) used to interrogate the HLR 50 is called "send routing information for SM." When the GMSC has received routing information, the MT-SM is forwarded to the MSC/VLR 70, which corresponds to where the MS 90 is roaming, in the "forward SM" MAP message (operation) over the interface 60. The MT-SM is delivered from the MSC/VLR 70 to the MS 90 over the interface 80 which is a known radio interface. This delivery is acknowledged back to the SC 10 mapped onto the "forward SM" MAP operation and onto the "03.47" protocol which interfaces the GMSC/IWMSC 30 with the SC 10.
For MT-SM, only one MT-SM dialog for each MS may be established according to GSM specifications over which several SMs may be sent. In contrast, one of several SMs may be delivered on the same dialog with the MS for MT-SM. Thereby, one MT-SM dialog can be used to send many SMs to the same MS and no fixed time for a MT-SM dialog can be set or estimated.
However, when using the SMS in known GSM mobile telephone systems, a problem occurs if several SCs send MT-SMs to the same MS subscriber at the same time. In this case, the SC originating the MT-SM which arrives first to the MSC/VLR where the subscriber is roaming will have an established SM-dialog with the MS. As a result, MT-SMs originated from other SCs cannot be delivered to the MS due to a "busy" condition in known systems (compare with a busy condition for a telephone call).
FIG. 2 illustrates the general structure for a plurality of SCs which may attempt to establish an MT-SM dialog with an MS 90. FIG. 2 illustrates a plurality of SCs for SMS 10.sub.1, 10.sub.2, . . . 10.sub.n, which are respectively connected to a plurality of GMSC/IWMSCs 30.sub.1, 30.sub.2, . . . 30.sub.n by interfaces 20.sub.1, 20.sub.2, . . . 20.sub.n. The plurality of GMSC/IWMSCs 30.sub.1, 30.sub.2, . . . 30.sub.n are connected to the MSC/VLR 70 by a plurality of interfaces 60.sub.1, 60.sub.2, . . . 60.sub.n, respectively. To illustrate the problem when more than one SC tries to send an SM to the same MS 90, it is assumed that SC1 10.sub.1 and the MS 90 have established an MT-SM dialog. Subsequently, if SC2 10.sub.2 tries to establish an MT-SM dialog with the MS 90, a signal illustrating that the MS subscriber is busy is reported back to SC2 10.sub.2 as either "a system failure" or "a SMS-busy." In GSM Phase 1, "a system failure" is reported back to SC2 10.sub.2 which is a somewhat inappropriate report of the MS 90 status, but is nevertheless used. In the GSM Phase 2 Enhancement, the specification for this condition is reported back to the SC2 10.sub.2 as "SMS-busy." When the MS 90 is determined to be in the busy condition, SMs from SC2 10.sub.2 through SCn 10.sub.n cannot establish an MT-SM dialog with MS 90. As a result, a congestion situation occurs for each of the SCs which have attempted to send an SM. When the MT-SM dialog between SC1 10.sub.1 and MS 90 has been completed, the radio connection is released and each of the SCs having attempted to send SMs must re-establish a MT-SM dialog and a radio connection. Releasing the radio connection is not an efficient way to deliver the additional SMs to the MS 90.
As a starting point of a solution for this congestion situation, buffering the messages that arrive during the time when the MS 90 has already established an MT-SM dialog was considered by the present applicant. The implementation of such a buffering feature is fairly complicated because both the number of messages to buffer and the length of time must be handled. Also, it would be necessary to have a timer running in the SC that originates the SM and upon expiration, the sending of the MT-SM would be aborted by this SC. This timer would have to be coordinated with the time for buffering in the MSC/VLR. Another complication is that the timers would be specified as value ranges in the specifications, and thereby chosen and set differently by each operator. As a result of these problems, the present applicant determined that this buffering solution would not efficiently resolve the above-described congestion situation.